oolchain چیست؟Cross Compiler چیست؟
مجوعه ابزار Toolchainمجموعه ای از نرم افزار هاست که امکان می دهد برنامه نوشته شده، به زبان ماشین هدف تبدیل گردد.
به عبارت ساده همانطور که در میکروکنترلرهای AVRدیده ایم ما برنامه را با کمک یک نرم افزار (codevision , AVR studio,BASCOM,…) می نویسیم. سپس این برنامه را در همان محیط کامپایل می کنیم. برنامه های اشاره شده یک محیط IDE هستند که هم امکان ویرایش برنامه را می دهند و هم برنامه را کامپایل به زبان AVR می کنند. حال برنامه ای مانند WinAVR این حالت IDE را ندارد و شما برنامه را با یک ویرایشگر تایپ می کنید و سپس با WinAVR کامپایل می نمایید.
همانطور که می دانید در هنگام کامپایل کردن ابتدا برنامه نوشته شده تبدیل به فایل object می شود. اگر فایل شما از کتابخانه های مختلف دیگری استفاده نماید بعد از تبدیل فایل ها به object این فایل ها به کمک یک Linker ،لینک می شوند و در انتها فایل ها تبدیل به باینری می شود. مجموعه این ابزار ها یک Toolchain می باشد.
حال وقتی شما یک برنامه را می نویسید تا بر روی یک PC اجرا نمایید Toolchain شما، ابزاری برای کامپایل بر روی PC و تبدیل برنامه به زبان CPU ی PC شما فراهم آورده است.مثل Turbo Cیا Pascal. اما اگه قرار باشد مثل مورد اول برنامه شما روی یک میکروکنترولر اجرا شود دیگر نمی توانید برنامه ای که مثلا با زبان C نوشته اید را با کامپایلر Turbo C کامپایل و فایل باینری حاصل را به میکروکنترولر منتقل کنید. بلکه نیاز دارید از کامپایلر دیگری که برنامه را به زبان میکروکنترولر تبدیل می کند، استفاده نمایید و بعد از نوشتن برنامه بر روی PC با کمک این کامپایلر که زبان میکروکنترولر را می فهمد و بر روی PC شما نصب شده است، برنامه را تبدیل به باینری قابل فهم توسط میکروکنترولر کنید. به این کامپایلر Cross-Compiler می گویند. یعنی کامپایلری که بر روی یک ماشین میزبان(Host) می نشیند و برنامه به زبان ماشین هدف(Host) تبدیل می کند. PC مورداستفاده Host و میکروکنترولر Target است. بنابراین شما برنامه را روی Host برای Target کامپایل کردید. می توان انتظار داشت این برنامه کامپایل شده بر روی سیستم Host اجرا نشود زیرا برنامه برای زبان ماشین Target کامپایل شده است.
از جمله Cross-Compiler ها که ما نیز در آموزش های خود استفاده می کنیم Arm-Linux-GCC می باشد.ما در اینجا از ویرایش های مختلف ای کامپایلر نام خواهیم برد و هر کجا که از آن استفاده می کنیم لینک دانلود آن را نیز قرار می دهیم.برای شروع ما از جدیدترین ورژن آن یعنی arm-linux-gcc-4.3.2 استفاده می کنیم.
جهت دانولد فایل chm به لینک زیر مراجعه کنید
upload/itgroups/file/Toolchain%20.zip